package com.smartstate.EnvironmentMonitor.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.smartstate.EnvironmentMonitor.dto.AlarmDTO;
import com.smartstate.EnvironmentMonitor.dto.PageDTO;
import com.smartstate.EnvironmentMonitor.entity.Alarm;
import com.smartstate.EnvironmentMonitor.vo.AlarmPageVo;
import com.smartstate.EnvironmentMonitor.vo.AlarmVo;
import com.smartstate.EnvironmentMonitor.vo.EquipMentVo;
import com.smartstate.EnvironmentMonitor.vo.ObjmiddleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * <p>报警信息</p>
 * <p>@Author 陈永杰</p>
 * <p>@Date: 2022/8/16</p>
 * <p>@Time: 10:38</p>
 * <p>@version 1.0 <p>
 */
public interface AlarmService extends ServiceBase<Alarm>{


        /**
         * 获取湿度 设备名称 和楼宇id 和报警信息
         * @param item
         * @return
         */
        List<AlarmVo> selectAlarm(AlarmDTO item);


        /**
         * 实时数据  查所有报警信息未处理的
         * @return
         */
        List<AlarmVo> selectAlarmTime();

        /**
         * 数据面板实时查询
         * @param deviceId
         * @return
         */
        EquipMentVo selectTags(String deviceId);


        /**
         *  新增报警信息
         */
        void addAlarm();


        /**
         * 查询设备属性给到看板
         * @param deviceId
         * @return
         */
        EquipMentVo selectDeviceId(String deviceId);

        /**
         * 拿到设备id和tags  修改数据库里的tags里存的 json串
         * @param
         * @return
         */
        int updateDeviceIdTags(String deviceId,String tags,String way);


        Page<Alarm> queryPageList(PageDTO<AlarmPageVo> pageDTO);

        /**
         * 处理完成
         * @param alarm
         * @return
         */
        Boolean figureOut(Alarm alarm);
}
